<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>PicturesTable (POI API Documentation)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="PicturesTable (POI API Documentation)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/PicturesTable.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/poi/hwpf/model/PICFAndOfficeArtData.html" title="class in org.apache.poi.hwpf.model"><span class="strong">PREV CLASS</span></a></li>
<li><a href="../../../../../org/apache/poi/hwpf/model/PieceDescriptor.html" title="class in org.apache.poi.hwpf.model"><span class="strong">NEXT CLASS</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/poi/hwpf/model/PicturesTable.html" target="_top">FRAMES</a></li>
<li><a href="PicturesTable.html" target="_top">NO FRAMES</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>SUMMARY:&nbsp;</li>
<li>NESTED&nbsp;|&nbsp;</li>
<li>FIELD&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">METHOD</a></li>
</ul>
<ul class="subNavList">
<li>DETAIL:&nbsp;</li>
<li>FIELD&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">METHOD</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<p class="subTitle">org.apache.poi.hwpf.model</p>
<h2 title="Class PicturesTable" class="title">Class PicturesTable</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.poi.hwpf.model.PicturesTable</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre><a href="../../../../../org/apache/poi/util/Internal.html" title="annotation in org.apache.poi.util">@Internal</a>
public final class <strong>PicturesTable</strong>
extends java.lang.Object</pre>
<div class="block">Holds information about all pictures embedded in Word Document either via "Insert -> Picture -> From File" or via
 clipboard. Responsible for images extraction and determining whether some document's piece contains embedded image.
 Analyzes raw data bytestream 'Data' (where Word stores all embedded objects) provided by HWPFDocument.

 Word stores images as is within so called "Data stream" - the stream within a Word docfile containing various data
 that hang off of characters in the main stream. For example, binary data describing in-line pictures and/or
 formfields an also embedded objects-native data. Word picture structures are concatenated one after the other in
 the data stream if the document contains pictures.
 Data stream is easily reachable via HWPFDocument._dataStream property.
 A picture is represented in the document text stream as a special character, an Unicode  whose
 CharacterRun.isSpecial() returns true. The file location of the picture in the Word binary file is accessed
 via CharacterRun.getPicOffset(). The CharacterRun.getPicOffset() is a byte offset into the data stream.
 Beginning at the position recorded in picOffset, a header data structure, will be stored.</div>
<dl><dt><span class="strong">Author:</span></dt>
  <dd>Dmitry Romanov</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/poi/hwpf/model/PicturesTable.html#PicturesTable(org.apache.poi.hwpf.HWPFDocument, byte[], byte[])">PicturesTable</a></strong>(<a href="../../../../../org/apache/poi/hwpf/HWPFDocument.html" title="class in org.apache.poi.hwpf">HWPFDocument</a>&nbsp;_document,
             byte[]&nbsp;_dataStream,
             byte[]&nbsp;_mainStream)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/poi/hwpf/model/PicturesTable.html#PicturesTable(org.apache.poi.hwpf.HWPFDocument, byte[], byte[], org.apache.poi.hwpf.model.FSPATable, org.apache.poi.hwpf.model.EscherRecordHolder)">PicturesTable</a></strong>(<a href="../../../../../org/apache/poi/hwpf/HWPFDocument.html" title="class in org.apache.poi.hwpf">HWPFDocument</a>&nbsp;_document,
             byte[]&nbsp;_dataStream,
             byte[]&nbsp;_mainStream,
             <a href="../../../../../org/apache/poi/hwpf/model/FSPATable.html" title="class in org.apache.poi.hwpf.model">FSPATable</a>&nbsp;fspa,
             <a href="../../../../../org/apache/poi/hwpf/model/EscherRecordHolder.html" title="class in org.apache.poi.hwpf.model">EscherRecordHolder</a>&nbsp;dgg)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/poi/hwpf/usermodel/Picture.html" title="class in org.apache.poi.hwpf.usermodel">Picture</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/poi/hwpf/model/PicturesTable.html#extractPicture(org.apache.poi.hwpf.usermodel.CharacterRun, boolean)">extractPicture</a></strong>(<a href="../../../../../org/apache/poi/hwpf/usermodel/CharacterRun.html" title="class in org.apache.poi.hwpf.usermodel">CharacterRun</a>&nbsp;run,
              boolean&nbsp;fillBytes)</code>
<div class="block">Returns picture object tied to specified CharacterRun</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../org/apache/poi/hwpf/usermodel/Picture.html" title="class in org.apache.poi.hwpf.usermodel">Picture</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/poi/hwpf/model/PicturesTable.html#getAllPictures()">getAllPictures</a></strong>()</code>
<div class="block">Not all documents have all the images concatenated in the data stream
 although MS claims so.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/poi/hwpf/model/PicturesTable.html#hasEscherPicture(org.apache.poi.hwpf.usermodel.CharacterRun)">hasEscherPicture</a></strong>(<a href="../../../../../org/apache/poi/hwpf/usermodel/CharacterRun.html" title="class in org.apache.poi.hwpf.usermodel">CharacterRun</a>&nbsp;run)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/poi/hwpf/model/PicturesTable.html#hasHorizontalLine(org.apache.poi.hwpf.usermodel.CharacterRun)">hasHorizontalLine</a></strong>(<a href="../../../../../org/apache/poi/hwpf/usermodel/CharacterRun.html" title="class in org.apache.poi.hwpf.usermodel">CharacterRun</a>&nbsp;run)</code>
<div class="block">determines whether specified CharacterRun contains reference to a picture</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/poi/hwpf/model/PicturesTable.html#hasPicture(org.apache.poi.hwpf.usermodel.CharacterRun)">hasPicture</a></strong>(<a href="../../../../../org/apache/poi/hwpf/usermodel/CharacterRun.html" title="class in org.apache.poi.hwpf.usermodel">CharacterRun</a>&nbsp;run)</code>
<div class="block">determines whether specified CharacterRun contains reference to a picture</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="PicturesTable(org.apache.poi.hwpf.HWPFDocument, byte[], byte[], org.apache.poi.hwpf.model.FSPATable, org.apache.poi.hwpf.model.EscherRecordHolder)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>PicturesTable</h4>
<pre>@Deprecated
public&nbsp;PicturesTable(<a href="../../../../../org/apache/poi/hwpf/HWPFDocument.html" title="class in org.apache.poi.hwpf">HWPFDocument</a>&nbsp;_document,
                        byte[]&nbsp;_dataStream,
                        byte[]&nbsp;_mainStream,
                        <a href="../../../../../org/apache/poi/hwpf/model/FSPATable.html" title="class in org.apache.poi.hwpf.model">FSPATable</a>&nbsp;fspa,
                        <a href="../../../../../org/apache/poi/hwpf/model/EscherRecordHolder.html" title="class in org.apache.poi.hwpf.model">EscherRecordHolder</a>&nbsp;dgg)</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>_document</code> - </dd><dd><code>_dataStream</code> - </dd></dl>
</li>
</ul>
<a name="PicturesTable(org.apache.poi.hwpf.HWPFDocument, byte[], byte[])">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>PicturesTable</h4>
<pre>public&nbsp;PicturesTable(<a href="../../../../../org/apache/poi/hwpf/HWPFDocument.html" title="class in org.apache.poi.hwpf">HWPFDocument</a>&nbsp;_document,
             byte[]&nbsp;_dataStream,
             byte[]&nbsp;_mainStream)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="hasPicture(org.apache.poi.hwpf.usermodel.CharacterRun)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasPicture</h4>
<pre>public&nbsp;boolean&nbsp;hasPicture(<a href="../../../../../org/apache/poi/hwpf/usermodel/CharacterRun.html" title="class in org.apache.poi.hwpf.usermodel">CharacterRun</a>&nbsp;run)</pre>
<div class="block">determines whether specified CharacterRun contains reference to a picture</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>run</code> - </dd></dl>
</li>
</ul>
<a name="hasEscherPicture(org.apache.poi.hwpf.usermodel.CharacterRun)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasEscherPicture</h4>
<pre>public&nbsp;boolean&nbsp;hasEscherPicture(<a href="../../../../../org/apache/poi/hwpf/usermodel/CharacterRun.html" title="class in org.apache.poi.hwpf.usermodel">CharacterRun</a>&nbsp;run)</pre>
</li>
</ul>
<a name="hasHorizontalLine(org.apache.poi.hwpf.usermodel.CharacterRun)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasHorizontalLine</h4>
<pre>public&nbsp;boolean&nbsp;hasHorizontalLine(<a href="../../../../../org/apache/poi/hwpf/usermodel/CharacterRun.html" title="class in org.apache.poi.hwpf.usermodel">CharacterRun</a>&nbsp;run)</pre>
<div class="block">determines whether specified CharacterRun contains reference to a picture</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>run</code> - </dd></dl>
</li>
</ul>
<a name="extractPicture(org.apache.poi.hwpf.usermodel.CharacterRun, boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>extractPicture</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/poi/hwpf/usermodel/Picture.html" title="class in org.apache.poi.hwpf.usermodel">Picture</a>&nbsp;extractPicture(<a href="../../../../../org/apache/poi/hwpf/usermodel/CharacterRun.html" title="class in org.apache.poi.hwpf.usermodel">CharacterRun</a>&nbsp;run,
                     boolean&nbsp;fillBytes)</pre>
<div class="block">Returns picture object tied to specified CharacterRun</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>run</code> - </dd><dd><code>fillBytes</code> - if true, Picture will be returned with filled byte array that represent picture's contents. If you don't want
 to have that byte array in memory but only write picture's contents to stream, pass false and then use Picture.writeImageContent</dd>
<dt><span class="strong">Returns:</span></dt><dd>a Picture object if picture exists for specified CharacterRun, null otherwise. PicturesTable.hasPicture is used to determine this.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/poi/hwpf/usermodel/Picture.html#writeImageContent(java.io.OutputStream)"><code>Picture.writeImageContent(java.io.OutputStream)</code></a>, 
<a href="../../../../../org/apache/poi/hwpf/model/PicturesTable.html#hasPicture(org.apache.poi.hwpf.usermodel.CharacterRun)"><code>hasPicture(org.apache.poi.hwpf.usermodel.CharacterRun)</code></a></dd></dl>
</li>
</ul>
<a name="getAllPictures()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getAllPictures</h4>
<pre>public&nbsp;java.util.List&lt;<a href="../../../../../org/apache/poi/hwpf/usermodel/Picture.html" title="class in org.apache.poi.hwpf.usermodel">Picture</a>&gt;&nbsp;getAllPictures()</pre>
<div class="block">Not all documents have all the images concatenated in the data stream
 although MS claims so. The best approach is to scan all character runs.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>a list of Picture objects found in current document</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/PicturesTable.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/poi/hwpf/model/PICFAndOfficeArtData.html" title="class in org.apache.poi.hwpf.model"><span class="strong">PREV CLASS</span></a></li>
<li><a href="../../../../../org/apache/poi/hwpf/model/PieceDescriptor.html" title="class in org.apache.poi.hwpf.model"><span class="strong">NEXT CLASS</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/poi/hwpf/model/PicturesTable.html" target="_top">FRAMES</a></li>
<li><a href="PicturesTable.html" target="_top">NO FRAMES</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>SUMMARY:&nbsp;</li>
<li>NESTED&nbsp;|&nbsp;</li>
<li>FIELD&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">METHOD</a></li>
</ul>
<ul class="subNavList">
<li>DETAIL:&nbsp;</li>
<li>FIELD&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">METHOD</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>
                <i>Copyright 2014 The Apache Software Foundation or
        its licensors, as applicable.</i>
            </small></p>
</body>
</html>
